package com.github.slprj.slake.net;

import java.nio.ByteBuffer;

/**
 * 解码器,由子类实现,提供解码的能力
 *
 * @author YangXiaoLong
 * 2022/9/17 10:08
 */
public abstract class Decoder {
    /**
     * 提供两种解码的选择
     * <p>
     * -io线程中(默认)
     * -业务线程中
     */
    public boolean decodeInIoThread() {
        return true;
    }

    /**
     * buffer转存数据到新的buffer
     *
     * @param buffer 待解析buffer
     * @return {@link Object }
     * @author YangXiaoLong
     * 2022/10/25 11:16
     */
    public abstract Object decode(ByteBuffer buffer);

}
